home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 4 / FM Towns Free Software Collection 4 - Disc 1.iso / pao / towns / paolib / key.h < prev    next >
Text File  |  1991-10-18  |  3KB  |  103 lines

  1. /* << High C V1.4 & 386ASM V2.0 >> ********************************************
  2. **
  3. **    キーボード インターフェース ルーチン 用 ヘッダ
  4. **
  5. **    1991.03.22 : CREATE
  6. **    1991.03.22 : FINISH
  7. **
  8. **    < History >
  9. **    1991.03.22 : CREATE
  10. **    1991.04.28 : 清書
  11. **
  12. **    < note > : TABS = 4
  13. **
  14. **    Programmed by Y.Hirata ( Nifty ID : NAB03321 )
  15. **
  16. ******************************************************************************/
  17.  
  18. #define    KEY_WAIT    20000                /*  KEY wait count : 200ms            */
  19. #define    KEY_REPEAT    2000                /*  KEY repeat     : 20ms            */
  20.  
  21. #ifndef _KYBREAD_DEFINED
  22.     struct _ENCODE {
  23.         unsigned char    shift ;        /*  LOW            */
  24.         unsigned char    keyadr ;    /*  HIGH        */
  25.     } ;
  26.     struct _BYTE {
  27.         unsigned char    l ;            /*  LOW (Code)    */
  28.         unsigned char    h ;            /*  HIGH(Flag)    */
  29.     } ;
  30.     union _MOJI {
  31.         struct _BYTE    hl ;
  32.         unsigned short    x ;
  33.     } ;
  34.     #define _KYBREAD_DEFINED
  35. #endif
  36.  
  37. enum Values_for_keyadrs {
  38.     KEY_DMY00,    KEY_ESC,    KEY_1,        KEY_2,                /*  00 - 03        */
  39.     KEY_3,        KEY_4,        KEY_5,        KEY_6,                /*  04 - 07        */
  40.     KEY_7,        KEY_8,        KEY_9,        KEY_0,                /*  08 - 0B        */
  41.     KEY_SUB,    KEY_TOPBER,    KEY_OR,        KEY_BACK,            /*  0C - 0F        */
  42.     KEY_TAB,    KEY_Q,        KEY_W,        KEY_E,                /*  10 - 13        */
  43.     KEY_R,        KEY_T,        KEY_Y,        KEY_U,                /*  14 - 17        */
  44.     KEY_I,        KEY_O,        KEY_P,        KEY_DMY1B,            /*  18 - 1B        */
  45.     KEY_LKAKKO,    KEY_CR,        KEY_A,        KEY_S,                /*  1C - 1F        */
  46.     KEY_D,        KEY_F,        KEY_G,        KEY_H,                /*  20 - 23        */
  47.     KEY_J,        KEY_K,        KEY_L,        KEY_SEMICOLON,        /*  24 - 27        */
  48.     KEY_COLON,    KEY_RKAKKO,    KEY_Z,        KEY_X,                /*  28 - 2B        */
  49.     KEY_C,        KEY_V,        KEY_B,        KEY_N,                /*  2C - 2F        */
  50.     KEY_M,        KEY_LT,        KEY_GT,        KEY_QUEST,            /*  30 - 33        */
  51.     KEY_UNDERBER,    KEY_SPACE,    TKEY_ASTER,    TKEY_SLASH,        /*  34 - 37        */
  52.     TKEY_ADD,    TKEY_SUB,    TKEY_7,        TKEY_8,                /*  38 - 3B        */
  53.     TKEY_9,        TKEY_EQU,    TKEY_4,        TKEY_5,                /*  3A - 3F        */
  54.     TKEY_6,        KEY_DMY41,    TKEY_1,        TKEY_2,                /*  40 - 43        */
  55.     TKEY_3,        TKEY_CR,    TKEY_0,        TKEY_PIRIOD,        /*  44 - 47        */
  56.     KEY_INS,    KEY_DMY49,    TKEY_000,    KEY_DEL,            /*  48 - 4B        */
  57.     KEY_DMY4C,    KEY_UP,        KEY_HOME,    KEY_LEFT,            /*  4C - 4F        */
  58.     KEY_DOWN,    KEY_RIGHT,    KEY_CTRL,    KEY_SHIFT,            /*  50 - 53        */
  59.     KEY_DMY54,    KEY_DMY55,    KEY_DMY56,    KEY_DMY57,            /*  54 - 57        */
  60.     KEY_DMY58,    KEY_DIC,    KEY_DMY5A,    KEY_PF12,            /*  58 - 5B        */
  61.     KEY_DMY5C,    KEY_PF1,    KEY_PF2,    KEY_PF3,            /*  5C - 5F        */
  62.     KEY_PF4,    KEY_PF5,    KEY_PF6,    KEY_PF7,            /*  60 - 63        */
  63.     KEY_PF8,    KEY_PF9,    KEY_PF10,    KEY_DMY67,            /*  64 - 67        */
  64.     KEY_DMY68,    KEY_PF11,    KEY_ALP,    KEY_DIC_SER,        /*  68 - 6B        */
  65.     KEY_DIC_DEL,KEY_DIC_ADD,KEY_BEFORE,    KEY_alp,            /*  6C - 6F        */
  66.     KEY_NEXT,    KEY_HALF,    KEY_UNDO,    KEY_EXEC,            /*  70 - 73        */
  67.     KEY_PF13,    KEY_PF14,    KEY_PF15,    KEY_PF16,            /*  74 - 77        */
  68.     KEY_PF17,    KEY_PF18,    KEY_PF19,    KEY_PF20,            /*  78 - 7B        */
  69.     KEY_BREAK,    KEY_COPY,    KEY_DMY7E,    KEY_DMY7F            /*  7C - 7F        */
  70. } ;
  71.  
  72. #define    KCODE_ESC    0x1B
  73. #define    KCODE_HOME    0x0B
  74. #define    KCODE_INS    0x50            /*  ESC+○    */
  75. #define    KCODE_DEL    0x56            /*  ESC+○    */
  76. #define    KCODE_UP    0x1E
  77. #define    KCODE_LEFT    0x1D
  78. #define    KCODE_DOWN    0x1F
  79. #define    KCODE_RIGHT    0x1C
  80. #define    KCODE_UNDEL    0x18
  81. #define    KCODE_BS    0x08
  82. #define    KCODE_LF    0x0A
  83. #define    KCODE_CR    0x0D
  84. #define    KCODE_BEEP    0x07
  85. #define    KCODE_CLS    0x0C
  86.  
  87. /*-----------------------------  ↓ コメント ↓  ----------------------------*/
  88.  
  89. /*    FMRシリーズ    */
  90. #if 0
  91.     ^G (0x07) : BEEP
  92.     ^H (0x08) : BS(DEL)
  93.     ^K (0x0b) : HOME
  94.     ^L (0x0c) : CLS
  95.     ^T (0x14) : カーソルより右を消去
  96.     ^V (0x16) : CLS  or  前行
  97.     ^W (0x17) : 次行
  98.     ^X (0x18) : 取消
  99.     ESC+0x56  : 削除
  100.     ESC+0x50  : 挿入
  101. #endif
  102.  
  103.